home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 9
/
FM Towns Free Software Collection 9.iso
/
taropyon
/
he386
/
ccimacro.doc
< prev
next >
Wrap
Text File
|
1994-11-16
|
16KB
|
587 lines
**************************************************************************
HE386 ver.3.01 CCI 制御マクロ説明書
**************************************************************************
HE386 ver.3 は内蔵されているC言語インタプリタCCI によって,命令をユーザ
ーが拡張することができます。
CCI プログラムはHE386.CCI というファイル名で予め作成しておく必要がありま
す。
HE386 に最初から用意されているHE386.CCI ではGMシステム,GSフォーマット,
SC-55 に関する命令が拡張されています。また,GMega /TG300 用の命令を組み込
むこともできます。
**************************************************************************
☆ GMシステム
**************************************************************************
■exGM_systemOn GM SYSTEM ON
【書式】 $exGM_systemOn()
【解説】
GMを初期状態(General MIDI Performance--level1)にリセットします。
**************************************************************************
☆ GSフォーマット/SC‐55
**************************************************************************
■GS_setDeviceNumber DEVICE NUMBER
【書式】 $GS_setDeviceNumber(n)
n …デバイスナンバ 1~32
【解説】
システムエクスクルーシブメッセージのデハイスナンバを指定します。
■sysEx_gs GS SYSTEM EXCLUSIVE
MESSAGE
【書式】 $sysEx_gs(address, siz, parameter, ... )
adr …アドレス(16進数)
siz …データサイズ
dat …パラメータ(siz に指定したバイト数必要)
【解説】
GSフォーマット(モデルID 42H)のシステムエクスクルーシブメッセージを
生成します。
【使用例】
$sysEx_gs(400004,1,100) /* マスターボリュームを100 に */
■sysEx_sc55 SC-55 SYSTEM EXCLUSIVE
MESSAGE
【書式】 $sysEx_sc55(adrs, siz,dat, ... )
adr …アドレス(16進数)
siz …データサイズ
dat …パラメータ(siz に指定したバイト数必要)
【解説】
SC-55 (モデルID 45H)のシステムエクスクルーシブメッセージを生成しま
す。
【使用例】
$sysEx_gs(400004,1,100) /* マスターボリュームを100 に */
■exGs_reset GS RESET
【書式】 $exGs_reset()
【解説】
GS音源を初期化します。
■exGs_masterVolume MASTER VOLUME
【書式】 $exGs_masterVolume(vol)
vol …MASTER VOLUME 0~127
【解説】
マスターボリュームを指定します。
【使用例】
$exGs_masterVolume(64) /* マスターボリュームを64に */
■exGs_partialReserve
【書式】 $exGs_partialReserve(p10,p1,p2,p3,p4,p5,p6,p7,p8,p9,
p11,p12,p13,p14,p15,p16)
p1..p16 …各パートのパーシャルリザーブ数
【解説】
パーシャルリザーブを指定します。
【使用例】
$exGs_partialReserve(2,6,2,2,2,2,2,2,2,2,0,0,0,0,0,0)
■exGs_reverbMacro REVERB MACRO
【書式】 $exGs_reverbMacro(n)
n …REVERB MACRO
0 Room 1
1 Room 2
2 Room 3
3 Hall 1
4 Hall 2
5 Plate
6 Delay
7 Panning Delay
【解説】
リバーブマクロを指定します。
■exGs_reverbPara REVERB PARAMETERS
【書式】 $exGs_reverbPara(p1,p2,p3,p4,p5,p6)
p1 …REVERB CHARACTOR 0~7
p2 …REVERB PRE-LPF 0~7
p3 …REVERB LEVEL 0~127
p4 …REVERB TIME 0~127
p5 …REVERB DELAY FEEDBACK 0~127
p6 …REVERB SEND LEVEL TO CHORUS 0~127
【解説】
リバーブパラメータを指定します。
■exGs_chorusMacro CHORUS MACRO
【書式】 $exGs_chorusMacro(n)
n …Chorus macro
0 Chorus 1
1 Chorus 2
2 Chorus 3
3 Chorus 4
4 Feedback Chorus
5 Flanger
6 Short Delay
7 Short Delay(FB)
【解説】
コーラスマクロを指定します。
■exGs_chorusPara CHORUS PARAMETERS
【書式】 $exGs_chorusPara(p1,p2,p3,p4,p5,p6,p7)
p1 …CHORUS PRE-LPF 0~7
p2 …CHORUS LEVEL 0~127
p3 …CHORUS FEEDBACK 0~127
p4 …CHORUS DELAY 0~127
p5 …CHORUS RATE 0~127
p6 …CHORUS DEPTH 0~127
p7 …CHORUS SEND LEVEL TO CHORUS 0~127
【解説】
コーラスパラメータを指定します。
■exGs_rxChannel Rx CHANNEL
【書式】 $exGs_rxChannel(part,ch)
part …PART NO. 1~16
ch …MIDI CHANNEL
0 OFF
1~16 MIDIチャンネル
【解説】
指定パートのMIDIチャンネルを指定します。
■exGs_assignMode ASSIGN MODE
【書式】 $exGs_assignMode(part,mode)
part …PART NO. 1~16
mode …ASSIGN MODE
0 SIGNLE
1 LIMITED-MULTI
2 FULL-MULTI
【解説】
指定パートのアサインモードを指定します。
■exGs_rymMap USE FOR RHYTHM PART
【書式】 $exGs_rymMap(paty,mode)
part …PART NO. 1~16
mode …USE FOR RHYTHM PART
0 normal part
1 MAP1
2 MAP2
【解説】
指定パートの通常パート/リズムパートを指定します。
■exGs_mod MODURATION CONTROLLER
【書式】 $exGs_mod(part,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11)
part …PART NO. 1~16
p1 …MOD PITCH CONTROL -24~24
p2 …MOD TVF CUTOFF CONTROL -64~63
p3 …MOD AMPLITUDE CONTROL -64~63
p4 …MOD LFO1 RATE CONTROL -64~63
p5 …MOD LFO1 PITCH CONTROL 0~127
p6 …MOD LFO1 TVF DEPTH 0~127
p7 …MOD LFO1 TVA DEPTH 0~127
p8 …MOD LFO2 RATE CONTROL -64~63
p9 …MOD LFO2 PITCH CONTROL 0~127
p10 …MOD LFO2 TVF DEPTH 0~127
p11 …MOD LFO2 TVA DEPTH 0~127
【解説】
指定パートのモジュレーションコントローラを指定します。
■exGs_bend BEND CONTROLLER
【書式】 $exGs_bend(part,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11)
part …PART NO. 1~16
p1 …BEND PITCH CONTROL -24~24
p2 …BEND TVF CUTOFF CONTROL -64~63
p3 …BEND AMPLITUDE CONTROL -64~63
p4 …BEND LFO1 RATE CONTROL -64~63
p5 …BEND LFO1 PITCH CONTROL 0~127
p6 …BEND LFO1 TVF DEPTH 0~127
p7 …BEND LFO1 TVA DEPTH 0~127
p8 …BEND LFO2 RATE CONTROL -64~63
p9 …BEND LFO2 PITCH CONTROL 0~127
p10 …BEND LFO2 TVF DEPTH 0~127
p11 …BEND LFO2 TVA DEPTH 0~127
【解説】
指定パートのベンドコントローラを指定します。
■exGs_caf CAf CONTROLLER
【書式】 $exGs_caf(part,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11)
part …PART NO. 1~16
p1 …CAf PITCH CONTROL -24~24
p2 …CAf TVF CUTOFF CONTROL -64~63
p3 …CAf AMPLITUDE CONTROL -64~63
p4 …CAf LFO1 RATE CONTROL -64~63
p5 …CAf LFO1 PITCH CONTROL 0~127
p6 …CAf LFO1 TVF DEPTH 0~127
p7 …CAf LFO1 TVA DEPTH 0~127
p8 …CAf LFO2 RATE CONTROL -64~63
p9 …CAf LFO2 PITCH CONTROL 0~127
p10 …CAf LFO2 TVF DEPTH 0~127
p11 …CAf LFO2 TVA DEPTH 0~127
【解説】
指定パートのチャンネルアフタータッチコントローラを指定します。
■exGs_paf PAf CONTROLLER
【書式】 $exGs_paf(part,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11)
part …PART NO. 1~16
p1 …PAf PITCH CONTROL -24~24
p2 …PAf TVF CUTOFF CONTROL -64~63
p3 …PAf AMPLITUDE CONTROL -64~63
p4 …PAf LFO1 RATE CONTROL -64~63
p5 …PAf LFO1 PITCH CONTROL 0~127
p6 …PAf LFO1 TVF DEPTH 0~127
p7 …PAf LFO1 TVA DEPTH 0~127
p8 …PAf LFO2 RATE CONTROL -64~63
p9 …PAf LFO2 PITCH CONTROL 0~127
p10 …PAf LFO2 TVF DEPTH 0~127
p11 …PAf LFO2 TVA DEPTH 0~127
【解説】
指定パートのポリフォニックアフタータッチコントローラを指定します。
■exGs_cc1 CC1 CONTROLLER
【書式】 $exGs_paf(part,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11)
part …PART NO. 1~16
p1 …CC1 PITCH CONTROL -24~24
p2 …CC1 TVF CUTOFF CONTROL -64~63
p3 …CC1 AMPLITUDE CONTROL -64~63
p4 …CC1 LFO1 RATE CONTROL -64~63
p5 …CC1 LFO1 PITCH CONTROL 0~127
p6 …CC1 LFO1 TVF DEPTH 0~127
p7 …CC1 LFO1 TVA DEPTH 0~127
p8 …CC1 LFO2 RATE CONTROL -64~63
p9 …CC1 LFO2 PITCH CONTROL 0~127
p10 …CC1 LFO2 TVF DEPTH 0~127
p11 …CC1 LFO2 TVA DEPTH 0~127
【解説】
指定パートのCC1 コントローラを指定します。
■exGs_cc2 CC2 CONTROLLER
【書式】 $exGs_paf(part,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11)
part …PART NO. 1~16
p1 …CC2 PITCH CONTROL -24~24
p2 …CC2 TVF CUTOFF CONTROL -64~63
p3 …CC2 AMPLITUDE CONTROL -64~63
p4 …CC2 LFO1 RATE CONTROL -64~63
p5 …CC2 LFO1 PITCH CONTROL 0~127
p6 …CC2 LFO1 TVF DEPTH 0~127
p7 …CC2 LFO1 TVA DEPTH 0~127
p8 …CC2 LFO2 RATE CONTROL -64~63
p9 …CC2 LFO2 PITCH CONTROL 0~127
p10 …CC2 LFO2 TVF DEPTH 0~127
p11 …CC2 LFO2 TVA DEPTH 0~127
【解説】
指定パートのCC2 コントローラを指定します。
**************************************************************************
☆ SC‐55ディスプレイ制御
**************************************************************************
ROLANDの音源モジュールSC-55 のLCD を制御するマクロの説明です。
SC-55 LCD 制御用のマクロを組み込むにはHE386.CCI を次のようにして作りなお
してください(※CPP が必要です)。
CPP -D__CCI__ -D_SC55DISP MAIN.C HE386.CCI
■exSC55_msgSet SC-55 DISPLAYED LETTER
【書式】 $exSC55_msgSet(msg)
msg …メッセージ(32文字以内)
【解説】
SC-55 の液晶ディスプレイに文字メッセージを指定します。
メッセージの文字は半角の数値・記号・アルファベット(コード20H~7FH)
が使えます。半角カタカナや全角文字は使えません。
【使用例】
$exSC55_msgPuts("SC-55 DISPLAY MESSAGE")
■exSC55_dotSet SC-55 DISPLAYED
DOT DATA
【書式】 $exSC55_dotSet(l1,l2,l3,...l16)
l1..l16 …ライン1~16のドット設定( 0と 1で構成される16文字の文字
列)
【解説】
SC-55 の液晶ディスプレイの表示ドットを指定します。
【使用例】
#$L0 0111110000111110
#$L1 1000001001000001
#$L2 1000001001000001
#$L3 1000001001000000
#$L4 1000001001000000
#$L5 1000000001000000
#$L6 1000000000100000
#$L7 1000000000010000
#$L8 1001111000001000
#$L9 1000001000000100
#$LA 1000001000000010
#$LB 1000001000000001
#$LC 1000001000000001
#$LD 1000001001000001
#$LE 1000001001000001
#$LF 0111110000111110
$exSC55_dotSet($L0,$L1,$L2,$L3,$L4,$L5,$L6,$L7,$L8,$L9,$LA,$LB,$LC,$LD,$LE,$LF)
■SC55_initDotBuffer SC-55 INITIARIZE
DOT BUFFER
【書式】 $SC55_initDotBuffer(x,y)
x …横ドット数(16以上)
y …縦ドット数(16以上)
【解説】
指定の大きさのドットバッファを用意します。
■SC55_setDotBuffer SC-55 SET DOT BUFFER
【書式】 $SC55_setDotBuffer(line,dat)
line …縦方向の設定位置
dat …ドット設定( 0と 1で構成される文字列)
【解説】
$SC55_initDotBuffer() で用意したバッファにドットデータを書き込みます。
■exSC55_dotBuffer SC-55 DOT BUFFER
【書式】 $exSC55_dotBuffer(x,y)
x,y …ドットバッファ内の座標
【解説】
$SC55_initDotBuffer() と$SC55_setDotBuffer()で用意したドットバッファ
の指定座標から16×16ドット分をSC-55 液晶ディスプレイに表示します。
**************************************************************************
☆ GMega
**************************************************************************
KAWAI の音源モジュールGMega を制御するマクロの説明です。
GMega 制御用のマクロを組み込むにはHE386.CCI を次のようにして作りなおして
ください(※CPP が必要です)。
CPP -D__CCI__ -D_GMEGA MAIN.C HE386.CCI
■GMega_setUnitRcvCh UNIT RECEIVE CHANNEL
【書式】 $GMega_setUnitRcvCh(ch)
ch …UNIT RECEIVE CHANNEL 1~16
【解説】
システムエクスクルーシブメッセージの受信チャンネルを設定します。
■exGMega_system SYSTEM FUNCTIONS
【書式】 $exGMega_system(no,data)
no …FUNCTION data …データ
00H SINGL BANK SEL 0=GM,1=SP,2=USER
01H EFFECT TYPE 0=REV1~5=REV6
02H REVERB TIME 1~3 1 ~ 10
03H REVERB TIME 4~6 1 ~ 10
04H REV PRE DELAY 1~3 0 ~ 10
05H REV PRE DELAY 4~6 0 ~ 10
06H REV DEPTH HI 1~3 1 ~ 10
07H REV DEPTH HI 4~6 1 ~ 10
08H REV DEPTH LO 1~3 1 ~ 10
09H REV DEPTH LO 4~6 1 ~ 10
0AH UNIT TUNE 00 = -128, FFH = +127
0BH UNIT RCV PGM 0 = OFF, 1 = ON
0CH UNIT RCV MODE 0 = ALL, 1 = ODD, 2 = EVEN
■exGMega_section SECTION FUNCTIONS
【書式】 $exGMega_section(no,sec,data)
no …FUNCTION 0~18
sec …SECTION NO. 1~32
data …DATA
■exGMega_single SINGLE FUNCTIONS
【書式】 $exGMega_single(no,sub,data1,data2)
no …FUNCTION 0~35
sub …SIGNLE NO. 1~128
data1 …DATA 1
data2 …DATA 2
■exGMega_percussion PERCUSSION FUNCTIONS
【書式】 $exGMega_percussion(no,sub,data)
no …FUNCTION 0~21
sub …PERCUSSION NO. 0~127
data …DATA
**************************************************************************
☆ TG300
**************************************************************************
YAMAHAの音源モジュールTG300 を制御するマクロの説明です。
TG300 制御用のマクロを組み込むにはHE386.CCI を次のようにして作りなおして
ください(※CPP が必要です)。
CPP -D__CCI__ -D_TG300 MAIN.C HE386.CCI
●TG300 用マクロ一覧
TG300_setDeviceNumber(n)
sysEx_TG300(adr,siz,p1[,p2...])
exTG300_allParameterReset()
exTG300_masterTune(tune)
exTG300_masterVolume(vol)
exTG300_masterPan(pan)
exTG300_masterCutoff(cutoff)
exTG300_masterPModDep(depth)
exTG300_varSendCtChg(depth)
exTG300_chorusType(type)
exTG300_variationType(type)
exTG300_preVariationType(type)
exTG300_preReverbType(type)
exTG300_reverbType(type)
exTG300_effectInput(type,rev,cho,var)
exTG300_dryLevel(level)
exTG300_effectReturn(type,rev,cho,var)
exTG300_effectSend(type,var2cho,var2rev,cho2rev)
exTG300_choParam(type,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10)
exTG300_varParam(type,p1msb,p2lsb ...p5msb,65lsb, p6…p10)
exTG300_preVarParam(type,p1,p2,p3,p4,p5,p6,p7,p8)
exTG300_preRevParam(type,p1,p2,p3,p4,p5,p6,p7,p8)
exTG300_revParam(type,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10)
exTG300_elementReserve(part,n)
exTG300_bank(part,msb,lsb)
exTG300_programNo(part,prog)
exTG300_rcvChannel(part,ch)
exTG300_monoPolyMode(part,mode)
exTG300_keyAssign(part,mode)
exTG300_partMode(part,mode)
exTG300_noteShift(part,shift)
exTG300_detune(part,shift)
exTG300_volume(part,vol)
exTG300_velSensDepth(part,depth)
exTG300_velSensOffst(part,offset)
exTG300_pan(part,pan)
exTG300_mwControl(part,pitch,filter,amp,pmod,fmod)
exTG300_bendControl(part,pitch,filter,amp,pmod,fmod)
exTG300_catControl(part,pitch,filter,amp,pmod,fmod)
exTG300_patControl(part,pitch,filter,amp,pmod,fmod)
exTG300_ac1Control(part,pitch,filter,amp,pmod,fmod)
exTG300_ac2Control(part,pitch,filter,amp,pmod,fmod)
exTG300_drumSetup(part,note,pitch,fine,leve,pan,rev,cho,var,
freq,reso,grp,kasn,rxnn,rxoff,atak,dc1,dc2)
exTG300_voiceDataSet(vno,filename)
※ パラメータの意味は,CCI プログラムのソースリスト(TG300.C, TG300ME.C,
TG300MP.C , TG300DS.C , TG300VM.C )中のコメントを参照してください。
**************************************************************************
☆ 注意,補足
**************************************************************************
GMega,TG300 両方の制御マクロを組み込みたいときは,
CPP -D__CCI__ -D_GMEGA -D_TG300 MAIN.C HE386.CCI
として,HE386.CCI を作りなおしてください。
制御マクロを複数組み込むと,CCI 作業用のメモリが不足することがあります。
「out of Code Buffer Space」や「out of Code Symbol Space」といったエラー
が発生した場合,起動時にオプションパラメータ「-codeSize 」を指定してコード
サイズを大きくしてください。
-codeSize のデフォルトは 128Kバイトですので,それより大きな値を指定して
ください。
【例】 -codeSize 200